import App from './App'

// Vue2
// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'

// 引入vuex
import store from '@/store/index.js'
// 引入全局uView
import uView from '@/uni_modules/uview-ui'
// 引入router.js
import {
	router,
	RouterMount
} from '@/router.js'
// 引入lodash
import _ from 'lodash'
// 引入moment日期格式化组件
import moment from 'moment'
// 引入自定义插件
import plugins from '@/plugins/index.js'

Vue.use(uView).use(router).use(plugins)
Vue.prototype.$_ = _;
Vue.prototype.$moment = moment;

Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
	...App,
	store
})

// 引入请求封装，将app参数传递到配置中
require('@/config/request.js')(app)

// #ifdef H5
RouterMount(app, router, '#app')
// #endif

// #ifndef H5
app.$mount(); //为了兼容小程序及app端必须这样写才有效果
// #endif
// #endif


// Vue3
// #ifdef VUE3
import {
	createSSRApp
} from 'vue'
export function createApp() {
	const app = createSSRApp(App)
	return {
		app
	}
}
// #endif